package com.central.apps.service;

import com.central.apps.entity.BlInsparealine;
import com.central.apps.entity.BlInsparealocation;
import com.central.apps.entity.BlInspectionstandardline;
import com.central.apps.entity.BlPm;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface PmService {

    // 更新下次执行时间
    void updateNextTime(int id,String nextDate,String lostDate);

    //查找需要生成的巡点检计划
    void queryInspectionPlan(String PlanType) throws Exception;

    // 计算下次执行时间
    String getNextexDate(Date exDate, String frequency, String cycle);

    // 查询最大的工单编号
    String quryMaxWonum(String woType,String woFax);

    // 根据巡点检区域编号  获取位置列表
    List<BlInsparealocation> quryLocationList(String insaenum);

    // 向 工单表插入 巡检区域中的位置列表
    void insertWoLocation(String wonum,String location,String desc);

    // 根据巡检区域编号获取 巡检资产列表
    List<BlInsparealine> queryAssetList(String insaenum);

    // 向 工单表插入 巡检区域中的资产列表
    void insertWoAsset(String wonum,String assetnum,String desc);

    // 根据巡点检标准编号获取 巡检任务列表
    List<BlInspectionstandardline> quryTaskList(String insaenum);

    // 向 工单表插入 巡检区域中的资产列表
    void insertWoTask(String wonum,BlInspectionstandardline task);

    String PmCreateWorkorder(BlPm blpm) throws Exception;

    Map<String, Object> getActiveMap(BlPm blpm);

    //根据检修路线来创建工单
    void getRouteGenWorkorder(String RouteNum,String MaxWonum,String woDesc,String insaenum,BlPm blpm);

    // 生成多资产多位置工单
    void genManyAssetWorkorder(String RouteNum,String MaxWonum,String insaenum);

    // 根据检修陆续生成父子级工单
    void genParentWorkorder(String RouteNum,String parentWoNum,String woDesc,String insaenum,BlPm blpm);

    void genTaskByInsaenum(String wonum,String insaenum);
}
